import axios from "axios";
import { Message } from 'element-ui';
import router from  '../router'
axios.interceptors.request.use(config=>{
    //如果存在token，请求携带这个token
    if(window.sessionStorage.getItem('tokenStr')){
        //自定义响应头
        config.headers['Authorization'] = window.sessionStorage.getItem('tokenStr')
    }
    return config
})




//响应成功or失败时的处理响应拦截器
axios.interceptors.response.use(success =>{
    //业务逻辑错误
    if(success.status&&success.status == 200){
        // eslint-disable-next-line no-constant-condition
        //500业务逻辑错误，401未登录，403权限禁止
        if (success.data.code===500||success.data.code===401||success.data.code===403){
            Message.error({message:success.data.message});
            return
        }
        //成功信息
        if (success.data.message){
          Message.success({message:success.data.message})
        }
        return success;
    }
},error => {
        if (error.respone.code===504||error.respone.code===404){
            Message.error({message:'服务器没了'})
        }else if (error.respone.code===403){
            Message.error({message:'权限不足，请联系管理员'})
        }else if(error.respone.code===401){
            Message.error({message:'尚未登录,请登录'});
            router.replace('/');
        }else {
            if (error.respone.data.message){
                Message.error({message:error.respone.data.message})
            }else {
                Message.error({message:'未知错误'})
            }
            return;
        }
});


export  const postRequest=(url,params)=>{
         return axios({
             method:'post',
             url:url,
             data:params,
         })

}
export  const putRequest=(url,params)=>{
    return axios({
        method:'put',
        url:url,
        data:params
    })
}

export  const getRequest=(url,params)=>{
    return axios({
        method:'get',
        url:url,
        data:params
    })
}

export  const deleteRequest=(url,params)=>{
    return axios({
        method:'delete',
        url:url,
        data:params
    })
}


